Skip to content

[WIP] Use NET=Runtime on tasks and delete .NET Framework task implementations#16413

Draft
ViktorHofer wants to merge 33 commits intomainfrom
UseNETCoreAppTasks
Draft

[WIP] Use NET=Runtime on tasks and delete .NET Framework task implementations#16413
ViktorHofer wants to merge 33 commits intomainfrom
UseNETCoreAppTasks

Conversation

@ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Dec 15, 2025

By using NET="Runtime" on UsingTask declarations, msbuild runs the task always on .NETCoreApp, even on desktop msbuild.

Delete two unused projects:

  • IssueManager (not used in dnceng anymore)
  • Microsoft.DotNet.Tar (was only necessary for desktop SignTool)

Benefits:

  • Less code to maintain
  • Less Audit/CG alerts due to the removal of .NET Framework toolset version dependencies

@ViktorHofer
Copy link
Member Author

ViktorHofer commented Dec 15, 2025

Two blockers so far:

Slightly related: There a few remaining tools(!) / libraries that still target .NET Framework that I'm not sure about: Helix.Client, Helix.JobSender, StrongName, SignCheck and SignCheckLibrary. I wonder if all those need to stay on .NET Framework?

@ViktorHofer ViktorHofer force-pushed the UseNETCoreAppTasks branch 3 times, most recently from c0c2104 to 35ef0d6 Compare December 15, 2025 12:58
@mmitche
Copy link
Member

mmitche commented Dec 15, 2025

Love this.

@mmitche
Copy link
Member

mmitche commented Dec 16, 2025

SignTool running on framework might have to do with packing/unpacking VSIX's. At least that was the case at some point. For signcheck...IIRC some functionality used to not be supported on core. Maybe some authenticode or VSIX checking? Either way, I think that was resolved.

ViktorHofer added a commit to dotnet/sdk that referenced this pull request Jan 22, 2026
Needed to unblock dotnet/arcade#16413 to workaround dotnet/msbuild#12895 but in general offers a way to import BundledVersions.props information from projects that don't import the Microsoft.NET.Sdk.
@ViktorHofer
Copy link
Member Author

ViktorHofer commented Jan 30, 2026

VMR validation build: dotnet/dotnet#4554

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants